﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Valentia.Kinection.DataTypes
{
    /// <summary>
    /// This class contains the information of clients connected to the system
    /// </summary>
    [Serializable]
    public class ServiceClientInfo
    {
        #region Properties
        /// <summary>
        /// Gets the service client type.
        /// </summary>
        public ServiceClientType ClientType { get; private set; }

        /// <summary>
        /// Gets the client key.
        /// </summary>
        public String Key { get; private set; }

        /// <summary>
        /// Gets the client ID.
        /// </summary>
        public String ClientID { get; private set; }

        /// <summary>
        /// Gets the client name.
        /// </summary>
        public String ClientName { get; private set; }

        /// <summary>
        /// Gets true if connected with service else false.
        /// </summary>
        public bool Connected { get; private set; }
        #endregion

        #region Constructor
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="clientType">service client type.</param>
        /// <param name="clientID">Client ID.</param>
        /// <param name="clientName">Client name.</param>
        /// <param name="connected">True if connected with service else false.</param>
        public ServiceClientInfo(ServiceClientType clientType, String clientID , String clientName, bool connected)
        {
            this.ClientType = clientType;
            this.ClientID = clientID;
            this.ClientName = clientName;
            this.Connected = connected;

            this.Key = clientID;
        }
        #endregion
    }
}
